home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / NET / SNMP.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  5KB  |  184 lines

  1. /*
  2.  *
  3.  *        SNMP MIB entries for the IP subsystem.
  4.  *        
  5.  *        Alan Cox <gw4pts@gw4pts.ampr.org>
  6.  *
  7.  *        We don't chose to implement SNMP in the kernel (this would
  8.  *        be silly as SNMP is a pain in the backside in places). We do
  9.  *        however need to collect the MIB statistics and export them
  10.  *        out of /proc (eventually)
  11.  *
  12.  *        This program is free software; you can redistribute it and/or
  13.  *        modify it under the terms of the GNU General Public License
  14.  *        as published by the Free Software Foundation; either version
  15.  *        2 of the License, or (at your option) any later version.
  16.  *
  17.  */
  18.  
  19. #ifndef _SNMP_H
  20. #define _SNMP_H
  21.  
  22. /*
  23.  *    We use all unsigned longs. Linux will soon be so reliable that even these
  24.  *    will rapidly get too small 8-). Seriously consider the IpInReceives count
  25.  *    on the 20Gb/s + networks people expect in a few years time!
  26.  */
  27.   
  28. struct ip_mib
  29. {
  30.      unsigned long    IpForwarding;
  31.      unsigned long    IpDefaultTTL;
  32.      unsigned long    IpInReceives;
  33.      unsigned long    IpInHdrErrors;
  34.      unsigned long    IpInAddrErrors;
  35.      unsigned long    IpForwDatagrams;
  36.      unsigned long    IpInUnknownProtos;
  37.      unsigned long    IpInDiscards;
  38.      unsigned long    IpInDelivers;
  39.      unsigned long    IpOutRequests;
  40.      unsigned long    IpOutDiscards;
  41.      unsigned long    IpOutNoRoutes;
  42.      unsigned long    IpReasmTimeout;
  43.      unsigned long    IpReasmReqds;
  44.      unsigned long    IpReasmOKs;
  45.      unsigned long    IpReasmFails;
  46.      unsigned long    IpFragOKs;
  47.      unsigned long    IpFragFails;
  48.      unsigned long    IpFragCreates;
  49. };
  50.  
  51. struct ipv6_mib
  52. {
  53.     unsigned long    Ip6InReceives;
  54.      unsigned long    Ip6InHdrErrors;
  55.      unsigned long    Ip6InTooBigErrors;
  56.      unsigned long    Ip6InNoRoutes;
  57.      unsigned long    Ip6InAddrErrors;
  58.      unsigned long    Ip6InUnknownProtos;
  59.      unsigned long    Ip6InTruncatedPkts;
  60.      unsigned long    Ip6InDiscards;
  61.      unsigned long    Ip6InDelivers;
  62.      unsigned long    Ip6OutForwDatagrams;
  63.      unsigned long    Ip6OutRequests;
  64.      unsigned long    Ip6OutDiscards;
  65.      unsigned long    Ip6OutNoRoutes;
  66.      unsigned long    Ip6ReasmTimeout;
  67.      unsigned long    Ip6ReasmReqds;
  68.      unsigned long    Ip6ReasmOKs;
  69.      unsigned long    Ip6ReasmFails;
  70.      unsigned long    Ip6FragOKs;
  71.      unsigned long    Ip6FragFails;
  72.      unsigned long    Ip6FragCreates;
  73.      unsigned long    Ip6InMcastPkts;
  74.      unsigned long    Ip6OutMcastPkts;
  75. };
  76.  
  77. struct icmp_mib
  78. {
  79.      unsigned long    IcmpInMsgs;
  80.      unsigned long    IcmpInErrors;
  81.       unsigned long    IcmpInDestUnreachs;
  82.      unsigned long    IcmpInTimeExcds;
  83.      unsigned long    IcmpInParmProbs;
  84.      unsigned long    IcmpInSrcQuenchs;
  85.      unsigned long    IcmpInRedirects;
  86.      unsigned long    IcmpInEchos;
  87.      unsigned long    IcmpInEchoReps;
  88.      unsigned long    IcmpInTimestamps;
  89.      unsigned long    IcmpInTimestampReps;
  90.      unsigned long    IcmpInAddrMasks;
  91.      unsigned long    IcmpInAddrMaskReps;
  92.      unsigned long    IcmpOutMsgs;
  93.      unsigned long    IcmpOutErrors;
  94.      unsigned long    IcmpOutDestUnreachs;
  95.      unsigned long    IcmpOutTimeExcds;
  96.      unsigned long    IcmpOutParmProbs;
  97.      unsigned long    IcmpOutSrcQuenchs;
  98.      unsigned long    IcmpOutRedirects;
  99.      unsigned long    IcmpOutEchos;
  100.      unsigned long    IcmpOutEchoReps;
  101.      unsigned long    IcmpOutTimestamps;
  102.      unsigned long    IcmpOutTimestampReps;
  103.      unsigned long    IcmpOutAddrMasks;
  104.      unsigned long    IcmpOutAddrMaskReps;
  105. };
  106.  
  107. struct icmpv6_mib
  108. {
  109.     unsigned long    Icmp6InMsgs;
  110.     unsigned long    Icmp6InErrors;
  111.  
  112.     unsigned long    Icmp6InDestUnreachs;
  113.     unsigned long    Icmp6InPktTooBigs;
  114.     unsigned long    Icmp6InTimeExcds;
  115.     unsigned long    Icmp6InParmProblems;
  116.  
  117.     unsigned long    Icmp6InEchos;
  118.     unsigned long    Icmp6InEchoReplies;
  119.     unsigned long    Icmp6InGroupMembQueries;
  120.     unsigned long    Icmp6InGroupMembResponses;
  121.     unsigned long    Icmp6InGroupMembReductions;
  122.     unsigned long    Icmp6InRouterSolicits;
  123.     unsigned long    Icmp6InRouterAdvertisements;
  124.     unsigned long    Icmp6InNeighborSolicits;
  125.     unsigned long    Icmp6InNeighborAdvertisements;
  126.     unsigned long    Icmp6InRedirects;
  127.  
  128.     unsigned long    Icmp6OutMsgs;
  129.  
  130.     unsigned long    Icmp6OutDestUnreachs;
  131.     unsigned long    Icmp6OutPktTooBigs;
  132.     unsigned long    Icmp6OutTimeExcds;
  133.     unsigned long    Icmp6OutParmProblems;
  134.  
  135.     unsigned long    Icmp6OutEchoReplies;
  136.     unsigned long    Icmp6OutRouterSolicits;
  137.     unsigned long    Icmp6OutNeighborSolicits;
  138.     unsigned long    Icmp6OutNeighborAdvertisements;
  139.     unsigned long    Icmp6OutRedirects;
  140.     unsigned long    Icmp6OutGroupMembResponses;
  141.     unsigned long    Icmp6OutGroupMembReductions;
  142. };
  143.  
  144. struct tcp_mib
  145. {
  146.      unsigned long    TcpRtoAlgorithm;
  147.      unsigned long    TcpRtoMin;
  148.      unsigned long    TcpRtoMax;
  149.      unsigned long    TcpMaxConn;
  150.      unsigned long    TcpActiveOpens;
  151.      unsigned long    TcpPassiveOpens;
  152.      unsigned long    TcpAttemptFails;
  153.      unsigned long    TcpEstabResets;
  154.      unsigned long    TcpCurrEstab;
  155.      unsigned long    TcpInSegs;
  156.      unsigned long    TcpOutSegs;
  157.      unsigned long    TcpRetransSegs;
  158.      unsigned long    TcpInErrs;
  159.      unsigned long    TcpOutRsts;
  160. };
  161.  
  162. struct udp_mib
  163. {
  164.      unsigned long    UdpInDatagrams;
  165.      unsigned long    UdpNoPorts;
  166.      unsigned long    UdpInErrors;
  167.      unsigned long    UdpOutDatagrams;
  168. };
  169.  
  170. struct linux_mib 
  171. {
  172.     unsigned long    SyncookiesSent;
  173.     unsigned long    SyncookiesRecv;
  174.     unsigned long    SyncookiesFailed;
  175.     unsigned long    EmbryonicRsts;
  176.     unsigned long    PruneCalled; 
  177.     unsigned long    RcvPruned;
  178.     unsigned long    OfoPruned;
  179.     unsigned long    OutOfWindowIcmps; 
  180.     unsigned long    LockDroppedIcmps; 
  181. };
  182.      
  183. #endif
  184.